// pages/circleFriendAlert/circleFriendAlert.js
import api from "../../config/api";
import { shareOptions } from "../../utils/access";
import request from "../../utils/request";
import { jump,getStorage } from "../../utils/utils"

Page({

  /**
   * 页面的初始数据
   */
  data: {
     userId: '', //用户id
     info: {},//详情信息
     page: 1,
     total: 0, //总页数
     num: 0, //提醒条数
     lastOverTime:'',//上次完成时间
     isDone: false,
     list: [] //提醒列表数据 
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    let userId = getStorage('userId')
    this.setData({
      userId
    })
    this.getInfo()
    this.getList(1)
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    this.modal = this.selectComponent("#modal");
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.loading = false
   // 从任务页面返回之后刷新页面
   if (this.isFromTask) {
    this.isFromTask = false
    this.getInfo()
   }
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },
  /**
   *  获取详情数据
   */
   async getInfo() {
    const { userId } = this.data
    if(userId){
      const res = await request.get(api.homeDetail, { userId }, { loading: false })
      this.setData({
        info: {
          ...res?.data
        }
      })
    }
  },

    /**
   * 获取列表
   * @param {*} page 当前页
   */
  async getList(page){
    const res=await request.get(api.getMessageList,{page, childType: 14})
   if(res.httpStatus==200){
    this.setData({
      list: page === 1 ? res?.data?.records : [
        ...this.data.list,
        ...res?.data?.records,
      ],
      total: res?.data?.pages,
      num: res?.data?.total
    })
   }
    wx.stopPullDownRefresh()
  },
  //跳转到用户主页
  jumpHome(e){
    if(e.currentTarget.dataset?.id){
      jump('home', { id: e.currentTarget.dataset.id})
    }
  },
  //跳转到任务页面
  jumpTask(){
    jump('trophy')
    // this.startChallenge()
  },
    // 开启挑战
	async startChallenge() {
    if (this.loading) return
    this.loading = true
    const res = await request.get(api.checkIsFail, null, { loading: false })
    // 0需要补救 1进行中 2成功 3失败 4无任务
    if ([2, 3, 4].includes(res?.data?.status)) {
      await request.get(api.startChallenge, null, { loading: false })
    }
    this.isFromTask=true
		wx.navigateTo({
      url: `/pages/trophy/trophy`,
    })
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    this.setData({
      page: 1,
      isDone: false,
    })
    this.getInfo()
    this.getList(1)
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    let { page, total } = this.data
    if (page < total) {
      page++
      this.setData({
        page
      })
      this.getList(page)
    } else {
      this.setData({
        isDone: true
      })
    }
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function (e) {
    return shareOptions('default', e)
  }
})